<?php
/**
 * Created by PhpStorm.
 * User: xuho
 * Date: 2019-12-02
 * Time: 11:24
 */

namespace extend\qrcode;

use Endroid\QrCode\ErrorCorrectionLevel;
use Endroid\QrCode\LabelAlignment;
use Endroid\QrCode\QrCode;

class ErCode
{
    public function code($string, $fileName = '')
    {
        // 生成二维码图片
        $qrCode = new QrCode($string);

        // 设置图片大小
        $qrCode->setSize(300);
        // 设置图片格式
        $qrCode->setWriterByName('png');
        // 设置图片边距
        $qrCode->setMargin(0);
        // 设置编码方式
        $qrCode->setEncoding('UTF-8');


//        $qrCode->setErrorCorrectionLevel(ErrorCorrectionLevel::HIGH);

        // 设置二维码背部形状颜色
        $qrCode->setForegroundColor(['r' => 0, 'g' => 0, 'b' => 0, 'a' => 0]);
        // 设置背景颜色
        $qrCode->setBackgroundColor(['r' => 255, 'g' => 255, 'b' => 255, 'a' => 0]);
//        // 设置字体还有标注文字
//        $qrCode->setLabel("零壹会员支付通道  享受折扣返现优惠", 15, "./uploads/YaH.ttf", LabelAlignment::CENTER,[
//            't' => 0,
//            'r' => 0,
//            'b' => 15,
//            'l' => 0,
//        ]);

//        // 设置logo 图片
//        $qrCode->setLogoPath('./uploads/lingyifang_logo.png');
//        // 设置logo 大小
//        $qrCode->setLogoWidth(100);

        $qrCode->setRoundBlockSize(true);
        $qrCode->setValidateResult(false);

        if (empty($fileName)) {
            header('Content-Type: ' . $qrCode->getContentType());
            return $qrCode->writeString();
        } else {
            // 二维码保存
            $qrCode->writeFile($fileName);
            return $fileName;
        }
    }
}